package com.testmanager.testmananger.quantitative.mapper;


import com.testmanager.testmananger.quantitative.constants.IterationStatus;
import com.testmanager.testmananger.quantitative.domain.IterationInfoEntity;
import com.testmanager.testmananger.quantitative.dto.*;

import java.util.List;

public class IterationInfoMapper {

    public  static IterationInfoDto toIterationInfoDto(IterationInfoEntity iterationInfoEntity , DemandInfoDto demandInfoDto
    , DevelopInfoDto developInfoDto, TestInfoDto testInfoDto, List<BugInfoDto> bugInfoDtos){
        if (iterationInfoEntity == null) return null;
        IterationInfoDto iterationInfoDto = new IterationInfoDto();
       return iterationInfoDto.setId(iterationInfoEntity.getId())
                .setProjectName(iterationInfoEntity.getProjectName())
                .setStatus(iterationInfoEntity.getStatus().getValue())
               .setName(iterationInfoEntity.getName())
                .setComment(iterationInfoEntity.getComment())
                .setDemand(demandInfoDto)
                .setDevelop(developInfoDto)
                .setTest(testInfoDto)
                .setBugs(bugInfoDtos);
    }


    public static IterationInfoEntity toIterationInfoEntity(IterationInfoEntity iterationInfoEntity,IterationInfoDto iterationInfoDto){
      //  IterationInfoEntity iterationInfoEntity = new IterationInfoEntity();
        return iterationInfoEntity.setId(iterationInfoDto.getId())
                .setProjectName(iterationInfoDto.getProjectName())
                .setName(iterationInfoDto.getName())
                .setComment(iterationInfoDto.getComment())
                .setStatus(IterationStatus.getValueOf(iterationInfoDto.getStatus()));
    }
}
